STATFS(2) | 리눅스 프로그래머 매뉴얼 | STATFS(2) |
이름¶
statfs, fstatfs - 파일 시스템 통계를 가져온다.
사용법¶
#include <sys/vfs.h>
int statfs(const char *path, struct statfs
*buf);
int fstatfs(int fd, struct statfs
*buf);
설명¶
statfs 는 마운트된 파일시스템에 관한 정보를 반환한다. path 는 마운트된 파일 시스템내 파일의 경로 이름이다. buf 는 다음과 같이 정의된 statfs 구조체에 대한 포인터이다:
struct statfs {
long f_type; /* 파일 시스템 타입(아래에서 보여준다) */
long f_bsize; /* 최적화된 전송 블럭 크기 */
long f_blocks; /* 파일 시스템내 총 데이터 블럭들 */
long f_bfree; /* 파일 시스템내 여유 블럭들 */
long f_bavail; /* 비-슈퍼 유저를 위한 여유 블럭들 */
long f_files; /* 파일 시스템내 총 파일 노드들 */
long f_ffree; /* 파일 시스템내 여유 파일 노드들 */
fsid_t f_fsid; /* 파일 시스템 ID */
long f_namelen; /* 파일 이름의 최대 길이 */
long f_spare[6]; /* 나중을 위한 여유분 */ }; 파일 시스템 타입들: linux/affs_fs.h:
AFFS_SUPER_MAGIC 0xADFF linux/ext_fs.h:
EXT_SUPER_MAGIC 0x137D linux/ext2_fs.h:
EXT2_OLD_SUPER_MAGIC 0xEF51
EXT2_SUPER_MAGIC 0xEF53 linux/hpfs_fs.h:
HPFS_SUPER_MAGIC 0xF995E849 linux/iso_fs.h:
ISOFS_SUPER_MAGIC 0x9660 linux/minix_fs.h:
MINIX_SUPER_MAGIC 0x137F /* orig. minix */
MINIX_SUPER_MAGIC2 0x138F /* 30 char minix */
MINIX2_SUPER_MAGIC 0x2468 /* minix V2 */
MINIX2_SUPER_MAGIC2 0x2478 /* minix V2, 30 char names */ linux/msdos_fs.h:
MSDOS_SUPER_MAGIC 0x4d44 linux/ncp_fs.h:
NCP_SUPER_MAGIC 0x564c linux/nfs_fs.h:
NFS_SUPER_MAGIC 0x6969 linux/proc_fs.h:
PROC_SUPER_MAGIC 0x9fa0 linux/smb_fs.h:
SMB_SUPER_MAGIC 0x517B linux/sysv_fs.h:
XENIX_SUPER_MAGIC 0x012FF7B4
SYSV4_SUPER_MAGIC 0x012FF7B5
SYSV2_SUPER_MAGIC 0x012FF7B6
COH_SUPER_MAGIC 0x012FF7B7 linux/ufs_fs.h:
UFS_MAGIC 0x00011954 linux/xia_fs.h:
_XIAFS_SUPER_MAGIC 0x012FD16D
특별한 파일 시스템을 위해 정의되지 않은 필드들은 -1로 설정된다. fstatfs 는 기술자 fd에 의해 참조되는 열린 파일에 관한 같은 정보를 반환한다.
반환값¶
성공시, 0이 리턴된다. 에러시, -1이 리턴되며, errno 는 적당한 값으로 설정된다.
에러¶
statfs:
- ENOTDIR
- path 의 경로 요소가 디렉토리가 아니다.
- ENAMETOOLONG
- path 가 너무 길다.
- ENOENT
- path 가 가리키는 파일이 존재하지 않는다.
- EACCES
- 탐색 허가권이 path의 경로 요소에서 거부되었다.
- ELOOP
- 너무 많은 상징 연결들을 path해석시에 만났다.
- EFAULT
- Buf 나 path 가 유효하지 않는 주소를 가리키고 있다.
- EIO
- 파일 시스템을 읽거나 슬는 동안 I/O 에러가 발생했다.
- ENOMEM
- 이용할수 있는 커널 메모리가 충분하지 않다.
- ENOSYS
- 파일 시스템 path 는 statfs를 지원하지 않는다.
fstatfs:
호환¶
4.4BSD.
관련 항목¶
역자¶
정강훈 <skyeyes@soback.kornet.net>, 2000년 9월 16일
1997년 8월 21일 | Linux 2.0.30 |